1. Field of the Invention
The present invention relates to an address translation program, a program utilizing method, an information processing device and a readable-by-computer medium.
2. Description of the Prior Art
At the present time, among computers utilized in enterprises, etc., there exist a computer 30 including, as schematically shown in FIGS. 10(a) and 10(b), a single piece or two pieces of InfiniBand adapters 25 (InfiniBand is a trademark of InfiniBand Trade Association) and is preinstalled with an application program 21, a network management program 22, an address translation program 23, an Infiniband driver 24, etc. . . .
The InfiniBand adapter 25 provided in this computer 30 is a piece of hardware for performing communications based on InfiniBand (refer to non-patent document 1) defined as I/O Standards developed for establishing high-speed a sever-to-server connection and a server-to-storage connection. Further, the InfiniBand driver 24 preinstalled in the computer 30 is a program for controlling the InfiniBand adapter 25.
The application program 21 is capable of utilizing, via the network management program 22, files and databases within other computers (each including the InfiniBand adapter 25) connected via a network to the computer 30 preinstalled with the application program 22 itself.
The network management program 22 serves to execute a process of packetizing pieces of information of which transmission is requested by the application program 21 into some packets each containing a virtual address of a destination and requesting the address translation program 23 to transmit each of the packets (packetized datagram), and a process of deassembling the packets transferred from the address translation program 23 back into the information in an original format and then transferring the information to the application program 21. Note that the virtual address (corresponding to Ethernet address; Ethernet is a trademark of Xerox Corp. in U.S.A.) is a 6-byte address virtually assigned to each of the InfiniBand adapters 25.
The network management program 22 is a program (for attaining a duplex system/redundant architecture of the network) capable of executing a process of automatically switching over the InfiniBand adapter 25 used for transmitting the packet if a trouble occurs in the transmission of the packet (such as a trouble occurred in the InfiniBand adapter 25 within the self-computer or in the InfiniBand adapter 25 in a computer as the destination of the packet, and so on).
The network management program 22 is, however, a program (that should be preinstalled into a computer including two pieces of Ethernet adapters) developed for the Ethernet network. Then, the network management program 22 preinstalled into the computer including the two Ethernet adapters executes a process of causing each Ethernet adapter to periodically broadcast a communication management packet (which will be described in detail later on) having a predetermined content and a process of causing the Ethernet adapter receiving the communication management packet in the self-computer to send a packet (which will hereinafter referred to as a response packet) having a predetermined content back to a source of the communication management packet in order to grasp the computer (preinstalled with the network management program 22) that is actually communicable via each of the Ethernet adapters.
The address translation program 23 is a program for making the network management program 22, defined as the Ethernet network program, usable for managing the InfiniBand network.
The address translation program 23 basically executes a process of requesting the InfiniBand driver 24 to transmit an address-translated packet of which the transmission is requested by the network management program 22 and of which two pieces of virtual addresses (a 6-byte source address and a 6-byte destination address) are translated into 20-byte addresses (which will hereinafter be called real addresses) for the InfiniBand network, and a process of transferring to the network management program 22 an address-translated packet, transferred from the InfiniBand driver 24, of which the respective real addresses (the 20-byte addresses) are translated into the virtual addresses (the 6-byte addresses). Note that the normal packet in the discussion herein, which is transferred and received between the address translation program 23 and the network management program 22, contains, as schematically shown in FIG. 11(a), an address length, a 6-byte destination address (the virtual address of the destination), a 6-byte source address (the virtual address of the source), an identifier (0x21) showing that the self-packet is identified with the normal packet, a data length showing a length of the subsequent data, and data. Further, the packet transferred and received between the address translation program 23 and the InfiniBand driver 24 contains, as schematically shown in FIG. 11(b), an address length, a 20-byte destination address (the real address of the destination), a 20-byte source address (the real address of the source), an identifier showing that the self-packet is identified with the normal packet, a data length, and data.
Then, the InfiniBand address is an address of which a value might be changed in the processing of being manipulated, and hence the address translation program 23 executes the above processes while performing the process of managing an associated relation (address mapping) between the virtual addresses and the real addresses.
To be specific, in a communication management packet (which will hereinafter be termed a second type communication management packet) that the network management program 22 requests the address translation program 23 (precisely, an instance, generated for the specified InfiniBand adapter 25, of the address translation program 23) to transmit, as schematically shown in FIG. 12(a), a virtual-address-formatted broadcast address (for the Ethernet network) is set as a destination address, a virtual address of the InfiniBand adapter 25 for transmitting the packet is set as a source address, and “0x20” showing that the self-packet is identified with the communication management packet is set as an identifier.
The address translation program 23, when requested to transmit the second type communication management packet, requests the InfiniBand driver 24 (precisely, the instance, generated for the specified InfiniBand adapter 25, of the InfiniBand driver 24) to transmit the first type communication management packet having a structure shown in FIG. 12(b). Namely, the address translation program 23 requests the InfiniBand driver 24 to transmit the first type communication management packet containing the identifier, the data length and the data of the second type communication management packet, the real addresses associated with the virtual address of the second type communication management packet, information (which will hereinafter be termed an address pair) consisting of the virtual address and the real address assigned to the InfiniBand adapter 25 for transmitting the packet, and the address length (−20).
Then, the address translation program 23 in each computer 30 receiving via the InfiniBand adapter 25 and the InfiniBand driver 24 the packet (which will hereinafter be also called the first type communication management packet) transmitted to the InfiniBand adapter 25 from the InfiniBand driver 24 requested to transmit the first type communication management packet, executes a process of updating contents of an address translation table managed for storing the associated relation (address mapping) between the virtual addresses and the real addresses on the basis of the address pair contained in the first type communication management packet, and a process of restoring the packet format (structure) back to the format in FIG. 12(a) and transferring this packet to the network management program 22.
As obvious from the description given above, the address translation program 23 used on the computer 30 is capable of grading up a computer performing the Ethernet-based communications by use of the network management program 22 into a computer performing the InfiniBand-based communications in the form of utilizing the network management program 22 as it is. This address translation program 23 might, however, cause a problem if the setting of the network management program 22 is erroneously manipulated.
Specifically, the network management program 22 is capable of designating a transmission request period of the second type communication management packet. Then, a process of changing the InfiniBand address is finished in approximately 100 msec., however, the address translation program 23 requests the InfiniBand driver 24 to transmit the InfiniBand communication packet only when already receiving the second type communication management packet (which has been reassembled into the first type communication management packet by the address translation driver 23) transmitted by the network management program 22 of the source computer 30 and when the address translation table contains the address pair of the destination. Therefore, in a network system configured by a plurality of computers 30, when changing an InfiniBand address of a certain InfiniBand adapter 25 in a certain computer 30, the process of changing the InfiniBand address is finished in approximately 100 msec, and nevertheless the InfiniBand adapter 25 whose InfiniBand address was changed can not be utilized unless there is an elapse of time corresponding to the second type communication management packet transmission request period set in the network management program 22 after the completion of changing InfiniBand address.
Moreover, in the network system configured by the plurality of computers 30, after booting the network management program 22 on the unspecified computer 30, this computer 30 is unable to perform the communications with other computers 30 unless there is the elapse of the time corresponding to the second type communication management packet transmission request period set in the network management program 22 on the aforementioned computer 30.
[Non-patent document 1] [InfiniBand Architecture Specification Volume 1 Release 1.0], InfiniBand Trade Association (IBTA), October, 2000.